package com.rabbit.service;

import com.github.pagehelper.PageInfo;
import com.rabbit.vo.req.FileReq;
import com.rabbit.vo.res.FileRes;

import javax.servlet.http.HttpServletResponse;

/**
 * <h1>文件中心业务接口</h1>
 * <p>
 * Created by zjw on 2022/2/15 9:58 下午
 */
public interface FileService {

    /**
     * 文件列表查询
     *
     * @param fileReq 查询条件
     * @return PageInfo<FileRes> 分页对象
     */
    PageInfo<FileRes> queryFiles(FileReq fileReq);

    /**
     * 删除文件
     *
     * @param fileReq 需要删除的文件
     */
    void deleteFile(FileReq fileReq);

    /**
     * 下载文件
     *
     * @param fileId   文件编号
     * @param response 响应对象
     */
    void downloadFile(Long fileId, HttpServletResponse response);
}
